/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.uff.pgci.sgca.gateway.codec;

import br.uff.pgci.sgca.gateway.model.Mensagem;
import java.util.Date;
import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.handler.codec.oneone.OneToOneDecoder;

/**
 *
 */
public class MensagemDecoder extends OneToOneDecoder {

    protected Object decode(ChannelHandlerContext chc, Channel chnl, Object msg) throws Exception {
        if (!(msg instanceof String)) {
            return msg;
        }

        String msgString = (String) msg;

        Mensagem m = new Mensagem();
        m.setDataCriacao(new Date());
        m.setMensagemBruta(msgString);
        m.setIdComando(Integer.valueOf(msgString.substring(1, 2)).intValue());
        m.setIdEquipamento(Integer.valueOf(msgString.substring(3, 5)).intValue());
        m.setParametro(msgString.substring(msgString.indexOf("-")));
        return m;
//            throw new Exception("Mensagem invalida");
    }
}
